<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的第一个js</title>
</head>
<body>
<p>alert弹出窗</p>
<script>
    //alert('0000')
    //一个页面允许多个script标签
</script>
<script>
    //alert('js提示框')

    // 单行注释
    /* 多行注释
    多行注释不能嵌套
    var a = 100;
    alert(a)
    */
    //alert(11111);

    // 3 javascript是区分大小写
    var a = 100,aa=10;
    var A = 200;
    //alert(a);

    // 4 如何调试javascript脚本
    // 除非你确定知道它是一个基本数据类型 可以用 alert 来调试
    //console.log(A);
    //var b = {name:'boyweilai',address:'xijie'};
    //alert(b)
    //console.log(b)

    // 5 js基本数据类型
    // 字符串类型 单引号与双引号没有区别
    // 使用变量前一定要先声明和初始化,jquery ,layui,easyui 都是使用严格模式
    var s = 'I am a student';
    console.log(s);
    console.log(typeof s)
    var s1 = '在湖南工业大学读书';
    var s2 = s + s1;
    console.log(s2)
    console.log(s2.length)

    // 数值类型
    var num = 1;
    var num2 =2.0
    var num3 = num + num2;
    console.log(num3);

    // 字符串与数值相加 就变成了字符串连接
    var num4 = s2 + num3;
    console.log(num4);

    // 变成字符串 及数值类型
    var a1 = '1';
    var b1 = 1;
    console.log(a1+b1);
    console.log(parseInt(a1) + b1);
    // 用乘法 可以自动转化成数值类型 可以使用 lodash 库转化 _.toNumber(a1)
    console.log(a1 * 1 + b1);

    var a2; //没有初始化的值就 undefined 类型
    if(a2 === undefined){
        console.log('未定义');
    }

    // 数组
    var arr1 = [1,2,3,4,5,6,7,8,9,10]
    console.log(arr1)
    // 遍历数组 方式1
    for(var i=0; i<arr1.length;i++){
        //console.log(arr1[i]);
    }
    // 方式二
    for(x in arr1){
        //console.log(arr1[x])
    }

    // 对象
    // 字面对象 json 对象
    var obj = {
        name:'yzl',
        age:40,
        getAge:function(){
            console.log(obj.age);
            // this === obj
            return this.age
        }
    }
    console.log(obj.name)
    console.log(obj.getAge())
    // 方便我们拼数据结构
    obj.address = '工业大学'
    console.log(obj.address)
    console.log(obj)

    // 函数 Function
    // 定义函数 1
    function hello(name){
        console.log('hello ' + name);
    }
    // 调用函数
    //hello('Mr Yan');

    // 定义方式 2 声明必须在调用之前
    /*
    var hello1 = function(name){
        console.log('hello my dear' + name);
    }*/

    // 调用 hello1
    //hello1('Yzl');

    // 立即执行函数
    (function hello2(){
       console.log('hello2')
    })()



</script>


</body>
</html>